//
//  ViewController.m
//  17-HomeWork2
//
//  Created by dllo on 16/8/6.
//  Copyright © 2016年 LST. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    [self createFileManager];
}
- (void)createFileManager {
    // 获取应用沙盒根路径：
    
        NSString *dirHome = NSHomeDirectory();
        NSLog(@"app_home: %@",dirHome);
    }
    //获取Documents目录路径：
    - (NSString *)dirDoc {
        //[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSLog(@"app_home_doc: %@",documentsDirectory);
        return documentsDirectory;
    }
    // 获取Library目录路径：
    -(void)dirLib{
        //[NSHomeDirectory() stringByAppendingPathComponent:@"Library"];
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
        NSString *libraryDirectory = [paths objectAtIndex:0];
        NSLog(@"app_home_lib: %@",libraryDirectory);
    }
    //获取Cache目录路径：
    -(void)dirCache{
        NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachePath = [cacPath objectAtIndex:0];
        NSLog(@"app_home_lib_cache: %@",cachePath);
    }
    //获取Tmp目录路径：
    -(void)dirTmp{
        //[NSHomeDirectory() stringByAppendingPathComponent:@"tmp"];
        NSString *tmpDirectory = NSTemporaryDirectory();
        NSLog(@"app_home_tmp: %@",tmpDirectory);
    }
    //创建文件夹
    -(void)createDir{
        NSString *documentsPath =[self dirDoc];
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
        // 创建目录
        BOOL res=[fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];
        if (res) {
            NSLog(@"文件夹创建成功");
        } else {
            NSLog(@"文件夹创建失败");
        }
    }
    //创建文件
    -(void)createFile {
        NSString *documentsPath = [self dirDoc];
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
        BOOL res=[fileManager createFileAtPath:testPath contents:nil attributes:nil];
        if (res) {
            NSLog(@"文件创建成功: %@" ,testPath);
        }else {
            NSLog(@"文件创建失败");
        }
    }
    //写文件
    -(void)writeFile{
        NSString *documentsPath =[self dirDoc];
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
        NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
        NSString *content=@"测试写入内容！";
        BOOL res=[content writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
        if (res) {
            NSLog(@"文件写入成功");
        } else
            NSLog(@"文件写入失败");
    }
    //读文件
    -(void)readFile{
        NSString *documentsPath =[self dirDoc];
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
        NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
        //    NSData *data = [NSData dataWithContentsOfFile:testPath];
        //    NSLog(@"文件读取成功: %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
        NSString *content=[NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"文件读取成功: %@",content);
    }
    //文件属性
    -(void)fileAttriutes{
        NSString *documentsPath =[self dirDoc];
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
        NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:testPath error:nil];
        NSArray *keys;
        id key, value;
        keys = [fileAttributes allKeys];
        int count = (int)[keys count];
        for (int i = 0; i < count; i++)
        {
            key = [keys objectAtIndex: i];
            value = [fileAttributes objectForKey: key];
            NSLog (@"Key: %@ for value: %@", key, value);
        }
    }
    //删除文件
    -(void)deleteFile{
        NSString *documentsPath =[self dirDoc];
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
        NSFileManager *fileManager = [NSFileManager defaultManager];
        NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
        BOOL res=[fileManager removeItemAtPath:testPath error:nil];
        if (res) {
            NSLog(@"文件删除成功");
        }else
            NSLog(@"文件删除失败");
        NSLog(@"文件是否存在: %@",[fileManager isExecutableFileAtPath:testPath]?@"YES":@"NO");
    }

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end
